package com.example.shujujiegousuanfa.队列;


// 用数组实现的队列
public class ArrayQueue {
    // 队列
    private String[] items;
    // 队列长度
    private int itemLength;
    // 头部索引位置
    private int headIndex;
    // 尾部索引位置
    private int tailIndex;
    // 构造方法
    ArrayQueue(int n){
        items = new String[n];
        this.itemLength = n;
    }
    // 入队方法
    public boolean enqueue(String item){
        if(headIndex == itemLength){
            return false;
        }
        items[headIndex] = item;
        headIndex++;
        return true;
    }
    // 出队方法
    public String dequeue(){
        if(tailIndex == itemLength){
            return null;
        }
        String res = items[tailIndex];
        tailIndex++;
        return res;
    }

    public static void main(String[] args) {
        ArrayQueue arrayQueue = new ArrayQueue(3);
        arrayQueue.enqueue("a");
        arrayQueue.enqueue("b");
        arrayQueue.enqueue("c");
        arrayQueue.enqueue("d");

        String dequeue1 = arrayQueue.dequeue();
        String dequeue2 = arrayQueue.dequeue();
        String dequeue3 = arrayQueue.dequeue();
        String dequeue4 = arrayQueue.dequeue();
        System.out.println(1);
    }
}